机器学习 | 熵–数据科学初学者必知的关键概念(附链接)
The following article is from 数据派THU Author 数据派THU
本文转载自公众号数据派THU
作者:SETHNEHA
翻译:刘思婧
校对:王可汗
引言
熵是机器学习的关键概念之一。对于任何机器学习爱好者来说,这都是必知的,但许多人对此概念仍感到困惑。本文的重点是,通过探究概率论的基本概念、公式的逻辑与意义、以及其对决策树算法的重要性来了解熵的作用。
那么,熵是什么?
熵的起源
熵一词最早由德国物理学家、数学家鲁道夫·克劳修斯(Rudolf Clausius)提出,并在热力学领域中使用。
1948年,数学家兼电气工程师香农(Claude E. Shannon)发表了一篇关于“通信的数学理论”的论文,解决了信息度量、选择和不确定性的问题。香农开创了信息论领域,因此也被称为“信息论之父”。
“信息论,是一种研究信息编码以及信息的量化、存储和交流的数学方法。”
在他的论文中,以数学方式测量了通信信号中“丢失信息”的统计性质。这项工作的目的是,探究如何最好地编码发送者想要传输的信息。为此,香农开发了信息熵作为一种估计消息中信息内容的方法,这是衡量消息丢失的不确定度的一种方法。
因此,我们知道,信息论中的主要度量是熵。
熵一词的英文含义是:它是一种无序(disorder)、混乱(confusion)、无组织(disorganization)的状态。
让我们深入了解这个概念。
首先,什么是信息(information)?我所说的“信息”是什么?简而言之,信息是从某物或某人中学到的一些事实。理论上讲,我们可以理解为,信息是可以作为变量存储、传输或传递的,可以取不同的值。换言之,变量只是存储单位。因此,我们通过查看变量的值,从变量中获取信息,就像通过读取消息或信件的内容,从消息或信件中获取细节(或信息)。
熵的计算,可以基于变量中存在的不同值的数量(信息量),也可以基于变量值所具有的惊奇度(surprise)。
假设您此刻收到一条消息,若该消息是先前文本的重复,则该消息完全没有提供信息;但若该消息透露了美国大选的结果,则该消息无疑是非常有用的。这告诉我们,消息或文本中的信息量,与其中可提供的惊奇度成正比。因此,可以直观理解,信息的这种存储、传输或传递,与该变量中的信息量有关。现在,扩展到某个事件的结果。例如,事件是投掷一枚硬币,它将有两个公平的、同样可能的结果,该结果提供较少的信息。换言之,由于硬币的结果将是正面或反面,因此具有较少的惊奇度。因此,投掷一枚硬币具有较低的熵。
在信息论中,随机变量的熵,是变量可能结果中固有的“信息量”、“惊奇度”或“不确定度”的平均水平。即,事件越具确定性,它包含的信息将越少。简言之,信息是不确定度或熵的增加。
那么这些理论,对我们有哪些帮助呢?我们如何将其应用到机器学习模型中?
为了理解这一点,首先让我们快速了解一下决策树算法。
决策树算法
决策树(Decision Tree)是一种监督学习技术,是一种分层的if-else语句,它仅是规则的集合,或者也称为基于条件比较运算符的拆分条件。决策树算法广泛应用于回归和分类问题。
以下示例将汽车类型二分为轿车和运动卡车,应用决策树算法找到因变量(response variable)与预测变量(predictors)之间的关系,并以树形结构的形式表示该关系。
该流程图由根节点(Root node)、分支节点(Branch nodes)和叶子节点(Leaf nodes)组成。根节点是原始数据,分支节点是决策规则,而叶节点是决策的输出,且这些节点无法进一步划分为分支。因此,它是基于某些条件或作为所述规则的问题的所有可能结果的图形描述。通过创建自上而下的树来训练模型,继而使用该训练后的决策树来测试新数据,以将其分为一个类别。
需要注意的是,通过设计,决策树算法会尝试构建因变量中最小叶子节点是同质的树。目标变量的同质性(homogeneity)意味着结果中只有一种类型的记录,即在叶子节点中,该记录传达的是轿车或是运动卡车。有时,难点在于,树是受限的,即树被迫停止构建,以将分支分解为更小的叶子节点。在这种情况下,目标变量不是同质的,结果仍然是汽车类型(轿车和运动卡车)的混合。
那么对于决策树算法,应如何选择特征?在该特征中以什么阈值来构建树?
为了回答这个问题,我们继续学习机器学习算法中损失函数(loss function)的概念。
损失函数
决策树算法通过优化损失函数从数据集中创建树。在分类问题的情况下,损失函数用以度量根节点的目标列中的不纯度(impurity)。
不纯度是指我们在上述讨论的信息中可获得的惊奇度或不确定度。在给定节点上,不纯度用以度量Y变量中不同类别的混合物(在我们的例子中,即不同汽车类型的混合)。因此,不纯度也称为在信息中或每个节点上存在的异质性(heterogeneity)。
我们的目标是在叶子节点(或最终结果)上尽可能减少这种不纯度。这意味着目标函数是减少目标列中的不纯度(即惊奇度或不确定度),换言之,是在给定数据的每个分支处增加Y变量的同质性(homogeneity)。
要了解目标函数,我们需要了解如何计算目标列的不纯度。有两个指标:熵和基尼系数。除此之外,为了回答先前关于决策树如何选择特征的问题,有多种拆分方法,包括熵、基尼系数、卡方。鉴于本篇的重点是熵,我们将进一步探讨,熵如何帮助创建树。
假设现在进行一项实验:有一盒装满相等袋数的、两种口味(焦糖拿铁和卡布奇诺)的咖啡。您可以闭眼选择盒中的一袋咖啡,如果您获得的是焦糖拿铁,那么您可以自由停止阅读本文;如果您获得的是卡布奇诺,那么您将必须阅读全文。
如果盒中只有焦糖拿铁和卡布奇诺两种咖啡,那么我们知道结果将是什么,因此不确定度(或惊奇度)将为零。获得焦糖拿铁或卡布奇诺的概率为:
P(咖啡==焦糖拿铁)= 0.50
P(咖啡==卡布奇诺)= 1–0.50 = 0.50
如果盒中只有焦糖拿铁一种咖啡,在没有不确定度的情况下,事件发生概率为:
P(咖啡==焦糖拿铁)= 1
P(咖啡袋==卡布奇诺)= 1–1 = 0
即,异质性与不确定度之间存在联系:事件的异质性越大,不确定度就越大;反之,事件的同质性越大,不确定度就越小。不确定度表示为熵(Entropy)或基尼系数(Gini)。
熵的作用
香农(Claude E. Shannon)通过以下方程式,以数学形式表达了概率与异质性或不纯度之间的这种关系:
不确定度或不纯度表示为类别
该方程式由一条对称曲线图形表示,如下所示。
在X轴上是事件的概率,在Y轴上表示异质性(由H(X) 表示的不纯度)。
我们将详细探讨该曲线的意义,然后计算咖啡口味实验的熵。
当概率
但是,我们不希望出现上述情况,因为熵或不纯度的测度只能取0~1的值(概率范围为0~1)。因此,为了使曲线和
现在,该方程式可用于显示不确定度如何根据事件发生的可能性而变化。曲线如下:
熵从0到1的取值范围,是针对二分类问题的。对于多分类问题,上述关系式仍然成立,但是取值规模可能会发生改变。
Python中的熵计算
我们仍然以前述的咖啡事件示例,计算三种不同情况下的熵值。事件Y表示获得焦糖拿铁。两种口味类别的异质性或不纯度公式如下:
其中,
情况一:
在情况一中,当盒中装有7袋焦糖拿铁和3袋卡布奇诺咖啡时,要求选择其中一个。熵值0.881即对该事件不确定度的度量。
情况二:
情况三:
在情况二和三中,可以看到熵值分别为1和0。在情况三中,当盒中只有一种口味的咖啡(焦糖拿铁)时,不确定度或惊奇度也将被完全消除,从而熵值为零。
在Python中的熵计算过程如下:
那么,决策树算法是如何使用这种计算方式来构建树的?
决策树中的熵
如上所述,在决策树中,损失函数最小化叶子节点中的异质性。因此,目标是选择特征,并在特征中以阈值来构建树,以便在将数据分为两部分时,获得最大可能的同质性,换言之,目标是使树的熵值最小化。
在根节点上,通过香农的熵计算方程式,计算目标列的熵。在分支节点上,为目标列计算加权熵。加权熵意味着每个特征取权重(每个类别的概率)。熵值越小,获得的信息越多。
信息增益(Information Gain)即是在数据中观察到的模式,亦即熵的减少。也可以视为父节点的熵减去子节点的熵,计算方式为(1–加权熵)。
前述示例中,三种情况的熵和信息增益计算如下:
现在,我们示例计算节点的熵和信息增益。
假设有下面的树,在根节点中共有四个值,子节点1中具有3个值(分支1具有2个值,分支2具有1个值),子节点2中具有1个值。根节点的熵为1。
此时,子节点2(child node 2)的熵为0,因为该节点中只有1个值,不存在异质性。子节点1的熵计算如下:
继而,信息增益的计算如下:
结语
信息熵(香农熵)量化了随机变量的值或随机过程的结果中涉及的不确定度(惊奇度)。它在决策树中的意义在于,使我们能够计算目标变量的不纯度或异质性。继而,为了在因变量中达到最大的同质性水平,以使子节点的总熵必须小于父节点的熵的方式创建子节点。
参考资料:
https://en.wikipedia.org/wiki/Claude_Shannon
https://en.wikipedia.org/wiki/Information_theory
https://en.wikipedia.org/wiki/History_of_entropy#Information_theory
原文标题:
Entropy – A Key Concept for All Data Science Beginners
原文链接:
https://www.analyticsvidhya.com/blog/2020/11/entropy-a-key-concept-for-all-data-science-beginners/
点击阅读原文,进入CCAD数据库
·END·
星标⭐我们不迷路!
想要文章及时到,文末“在看”少不了!
点击搜索你感兴趣的内容吧
往期推荐
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
文丨数据派THU
推荐丨青酱
欢迎扫描👇二维码添加关注